<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 将 data 中的 msg 和 num 通过数据劫持绑定到 vm 上面 
    let vm = {
        data:{
            msg : "☀",
            num : 1
        }
    }
    console.log(Object.keys(vm.data));
    // [msg,num]
    Object.keys(vm.data).map(item=>{
        Object.defineProperty(vm,item,{
            get:function(){
                return vm.data[item]
            },
            set:function(newValue){
                vm.data[item] = newValue;
            }
        })
    })
    console.log(vm.msg);    // "☀"
    console.log(vm.num);    // 1
    console.log(vm.data.msg);
    console.log(vm.data.num);
</script>
</html>